home *** CD-ROM | disk | FTP | other *** search
- { loadbmp.pas -- Load and display a bitmap resource }
-
- program LoadBmp;
-
- {$R loadbmp.res}
-
- uses WinTypes, WinProcs, WObjects;
-
- const
-
- id_FaceBmp = 'FACE';
-
- type
-
- LBmpApplication = object(TApplication)
- procedure InitMainWindow; virtual;
- end;
-
- PLBmpWindow = ^LBmpWindow;
- LBmpWindow = object(TWindow)
- HFaceBmp: HBitmap; { Handle to the face bitmap }
- constructor Init(AParent: PWindowsObject; ATitle: PChar);
- destructor Done;
- virtual;
- procedure Paint(PaintDC: HDC; var PaintInfo: TPaintStruct);
- virtual;
- end;
-
-
- { LBmpApplication }
-
- {- Initialize LBmpApplication object's window }
- procedure LBmpApplication.InitMainWindow;
- begin
- MainWindow := New(PLBmpWindow, Init(nil, 'Load Bitmap'))
- end;
-
-
- { LBmpWindow }
-
- {- Construct LBmpWindow object }
- constructor LBmpWindow.Init(AParent: PWindowsObject;
- ATitle: PChar);
- begin
- TWindow.Init(AParent, ATitle);
- HFaceBmp := LoadBitmap(HInstance, id_FaceBmp)
- end;
-
- {- Destroy LBmpWindow object }
- destructor LBmpWindow.Done;
- begin
- DeleteObject(HFaceBmp);
- TWindow.Done
- end;
-
- {- Paint bitmap in application window }
- procedure LBmpWindow.Paint(PaintDC: HDC;
- var PaintInfo: TPaintStruct);
- var
- OldBitmap: HBitmap;
- MemDC: HDC;
- begin
- MemDC := CreateCompatibleDC(PaintDC);
- OldBitmap := SelectObject(MemDC, HFaceBmp);
- BitBlt(PaintDC, 10, 10, 82, 82, MemDC, 0, 0, srcCopy);
- StretchBlt(PaintDC, 100, 10, 164, 164, MemDC,
- 0, 0, 72, 72, srcCopy);
- SelectObject(MemDC, OldBitmap);
- DeleteDC(MemDC)
- end;
-
- var
-
- LBmpApp: LBmpApplication;
-
- begin
- LBmpApp.Init('LBmpApp');
- LBmpApp.Run;
- LBmpApp.Done
- end.
-
-
- {--------------------------------------------------------------
- Copyright (c) 1991 by Tom Swan. All rights reserved.
- Revision 1.00 Date: 2/15/1991
- ---------------------------------------------------------------}
-